
        <html>
			<head>
			     <title>金融反欺诈-交易基础介绍 - 阿里巴巴云誉</title>
				 <meta http-equiv="content-type" content="text/html; charset=UTF-8">
			</head>
			<body>
				<h1>原文地址:<a href="http://drops.wooyun.org/tips/13008">http://drops.wooyun.org/tips/13008</a></h1>
				
      <p>
        <p><strong>Author：<a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="b4fcd1c7c0ddd5f45d2c0b5d3338511a3d51311c531420531d02511a2a5d1e38511a10">[email&#160;protected]</a><script data-cfhash='f9e31' type="text/javascript">/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */</script></strong></p>

<h1>0x00 前言</h1>

<hr />

<h3>一、简介</h3>

<p>如今，互联网金融比较火热，金融欺诈也变得非常普遍，金融反欺诈也应运而生。本文将主要介绍下金融交易中的一些基本内容，并简单介绍下历史悠久的并且还未淘汰的磁条卡的风险，这些也是了解金融欺诈需要的基本知识。对于具体的黑色产业链、信用卡套现、芯片卡的攻击、金融反欺诈风险防控等本文先不涉及。</p>

<!--more-->

<h3>二、背景</h3>

<p>我们先来看几则最近国内银行卡盗刷的新闻报道</p>

<ol>
<li><p><a href="http://zz.mnw.cn/news/1090195.html">男子ATM取完钱后被盗刷近17万</a></p>

<p>“黄先生发现，自己卡里近17万元的存款，被分14次刷走，仅剩下几千元，整个过程只有2分钟左右。黄先生赶紧报警。”</p>

<p>“经警方初步核查，事发前一天晚上，黄先生曾在云霄县江滨路一银行ATM取过款，这部取款机被人安装类似刷卡器的装置”</p></li>
<li><p><a href="http://news.sina.com.cn/s/2015-12-07/doc-ifxmhqac0127463.shtml?cre=newspagepc&amp;mod=f&amp;loc=10&amp;r=9&amp;rfunc=12">男子假身份应聘服务员 复制50多张顾客银行卡</a></p>

<p>“经审讯，严某对其携带并利用测录设备复制他人信用卡信息的犯罪行为供认不讳。据交代，严某为牟取不法钱财，租住快捷酒店作为实施犯罪的落脚点，为掩人耳目，冒用“雷某某”这一“假身份”，通过网上查找门槛较低、管理松散的高档餐饮企业的招聘信息，应聘并获取服务员岗位后，在顾客结账时，趁其不备，利用提前购买的磁条卡测录读写器复制客户银行卡信息，并偷窥和记录刷卡密码。”</p></li>
<li><p><a href="http://news.sina.com.cn/c/2016-01-27/doc-ifxnuvxe8430854.shtml">七浦路市场十余店主银行卡遭盗刷</a></p>

<p>“为了能够找到被盗刷的原因，店主们将消费明细打印出来发现，他们均曾在去年9月份参加过哈根达斯1元换购的活动(伪造的活动)，当时是用移动POS机进行的消费。”</p>

<p>“莹莹向记者出示了2015年9月19日哈根达斯一元换购冰淇淋的促销海报，海报生上称：“为回馈新老客户，哈根达斯特推出1元购活动……”海报上还明确注明：“优惠仅限储蓄卡刷卡消费，不接受信用卡及现金。”</p></li>
</ol>

<p>上述三个最近的新闻中都是用户在看似正常的消费或取款后，但自己的卡却被盗刷了，在国内这种现象很常见。而在银行卡欺诈中，国外的已经形成了比较成熟的黑色产业链，借助<a href="http://www.theonionrouter.com/">匿名网络</a>、<a href="https://en.wikipedia.org/wiki/Dark_web">暗网</a>、<a href="https://en.wikipedia.org/wiki/Bitcoin">比特币</a>等变得愈发猖獗。如下是国外的一个银行卡信息交易网站，用户可根据卡的类型等选择购买，购买后再通过线下制卡或线上使用等各种渠道去套现。</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909080041538120.jpg" alt="p1" /></p>

<h1>0x01 交易基础信息</h1>

<hr />

<p>交易分为线上的交易与线下的交易。线下交易(swiped transaction/card present)，简单点讲就是必须要物理刷卡来消费。线上交易(card not present transaction-CNP)，简单点讲就是不需要线下刷卡，但需要提供账号、密码、手机验证等信息，比如信用卡支付，填写卡号、过期时间、CVV2即可完成支付。</p>

<p>目前银行卡类的欺诈中，线下的主要就是复制卡，线上的主要是盗取你的线上支付的凭证，比如过期时间、CVV2等信息。</p>

<h3>一、交易角色</h3>

<p>在一次消费行为中，主要涉及到五个角色，分别为持卡人、商户、收单行、发卡行、卡组织。其中每个角色对应的描述如下：</p>

<ol>
<li><p>持卡人(cardholder)</p>

<p>银行卡的合法持有人,即与卡对应的银行账户相联系的客户。</p></li>
<li><p>发卡银行(issuing bank/card issuer)</p>

<p>发行银行卡的银行，即开户行。比如中国银行、中国招商银行、中国建设银行等各大银行。</p></li>
<li><p>商家、特约商户(merchant)</p>

<p>与收单机构签有商户协议，受理(可使用)银行卡的零售商、个人、公司或组织。</p></li>
<li><p>收单行(Acquirer Bank)</p>

<p>负责商户与买家之间的资金结算。收单行需要向卡组织申请，在中国则是向中国银联提交申请。 中国一般各大银行都是中国银联的机构成员，也开展收单业务，同时中国银联卡组织也有自己的专业收单公司为银联商务；同时中国银联还会授权其他第三方公司为收单机构，比如一些第三方支付公司等。</p></li>
<li><p>卡组织(Card brand)</p>

<p>卡组织负责建设和运营全球或区域统一的支付卡信息交换网络，负责支付卡交易的信息转换和资金清算，制定并推行支付卡跨行交易业务规范和技术标准。</p>

<p>国际上的卡组织，主要有威士国际组织（VISA International）、万事达卡国际组织（MasterCard International）、美国运通国际股份有限公司（America Express）、发现卡(Discover)、大莱信用卡有限公司（Diners Club）、JCB日本国际信用卡公司（JCB)等，中国的则为中国银联(China Unionpay)</p></li>
</ol>

<p>中国银联：简单来讲，中国银联通过制定一些标准与规范，构建一个完整支付网络，使得你能跨地区跨行使用银行卡。</p>

<h3>二、交易流程</h3>

<p>在一次消费过程中，各个角色的关系图大致如下</p>

<p><img src="http://static.wooyun.org//drops/20160219/201602190908042752329.jpg" alt="p2" /></p>

<p><strong>（一）线下刷卡</strong></p>

<p>比如有如下的消费场景： 本人在西餐店刷卡消费150，其资金是如何流向的呢？</p>

<ol>
<li><p>商家</p>

<p>首先商家需要刷卡工具，即常见的pos机，其需要向收单机构申请pos机。 收单机构主要有中国银联的成员机构各大银行、中国银联自己的收单公司银联商务、以及第三方支付平台收单机构，比如拉卡拉等。</p>

<p>商家可以根据收单机构的手续费(商家需要给收单行手续费的)、服务费等选择使用哪个收单机构。准备一个对公的账号(用来收钱)以及营业执照等信息向收单机构申请，签署相关协议。 收单机构审核通过后会发放pos机等(像拉卡拉这种可能会发放自己的刷卡器)，并负责安装调通，接入银联网络。 至此商家即可以用pos机进行收款了。</p></li>
<li><p>客户刷卡消费后，需要在签购单上签字，查看本次消费的签购单如下图</p>

<p><img src="http://static.wooyun.org//drops/20160219/201602190908059029038.jpg" alt="p3" /></p>

<p>其中主要信息如下：</p>

<ul>
<li>商户编号：用于标识商户</li>
<li>操作员：01，pos机默认有管理员、操作员等角色</li>
<li>终端编号：终端编号为pos机的编号 </li>
<li>发卡行：招商银行，我的银行卡为招商银行的，因而发卡行为招商银行 </li>
<li>卡号：银行卡号 </li>
<li>卡组织：CUP，即中国银联，我的招商银行卡为银联卡，因而卡组织是中国银联 </li>
<li>收单行：建设银行，即该pos机是建设银行的，其作为收单机构。负责将买家卡的钱转到商家的对公账号里。</li>
</ul></li>
<li><p>交易说明：</p>

<p>商户在向这里是向建设银行，提交pos机申请。申请成功后建设银行负责安装pos机并调通。 </p>

<p>刷卡结算时候，首先操作员在pos机设置消费金额，然后在pos机刷卡，并输入pin密码，pos机将卡号、金额、pin密文等通过加密方式发送到收单机构(建设银行)，</p>

<p>收单机构将信息通过卡组织的银联网络将信息转发到发卡行(招商银行)，招商银行校验卡类型以及金额、pin等信息，确认无误将校验结果通过银联网络发送给商家，支付成功。</p>

<p>支付成功后此时发卡行会把用户的卡金额冻结，等待卡组织进行资金清算。而此时买家的钱还未打到商家的账号，收单机构会与商户签订结算周期，比如T+1(第二天钱到账)、T+0(当天到账)的方式，收单机构通过汇总商户的收单信息通过银联网络发送给不同的发卡行请求扣款，各发卡行确认无误后将钱通过银联网络转到商户的对公账号里。至此交易完成。</p></li>
<li><p>手续费</p>

<p>这次交易的手续费，若商家与收单结构签订的协议中规定手续费为2%，假设发卡行、收单行、卡组织按7:2:1的比例扣费，那么商家缴纳的手续费为150&#42;2%=3元,那发卡行(招商银行)的收益为3&#42;0.7=2.1元、收单机构收益3&#42;0.2=0.6元、卡组织中国银联收益3&#42;0.1=0.3元。而商家最终收到的钱为150-150*2%=147元</p></li>
</ol>

<p><strong>（二）线上支付</strong></p>

<p>线上支付与线下支付类似。商户在需要接入在线支付的功能时，需要向银联或相应的收单机构申请，收单机构审核后会提供相关的支付接口。比如其会提供开发包供商户进行调试(注意，用户的敏感信息(卡号、过期时间、cvv2等)是不允许存储的，开发测试时候为方便调试，可能会将敏感信息打到log文件里，从而可产生安全问题)，联调无误了即可线上使用了。</p>

<p>商户接入银联的在线支付网关，分两种情况：</p>

<p><img src="http://static.wooyun.org//drops/20160219/201602190908076344648.jpg" alt="p4" /></p>

<ul>
<li>商户直联接入：是指商户开发系统直联接入“银联在线支付”网关，“银联在线支付”网关引导持卡人完成支付的形式。这种情况下，交易不经过收单机构的收单平台。 </li>
<li>商户间联接入（收单机构直联接入）：是指商户系统先接入收单机构系统，由收单机构系统接入“银联在线支付”网关，“银联在线支付”网关引导持卡人完成支付的形式。这种情况下，交易经过收单机构的收单平台，支付过程中是否出现收单机构页面由收单机构选择。</li>
</ul>

<p>所以通常在线上购物会出现如下的支付页面。</p>

<p><img src="http://static.wooyun.org//drops/20160219/201602190908083913558.jpg" alt="p5" /></p>

<p>中国银联支付平台提供各大银行的综合在线支付收单系统、同时各大银行也会提供自己的收单接口。</p>

<p>线上交易的资金流向以及结算与线下交易的描述类似。</p>

<h3>三、银行卡信息</h3>

<p><strong>（一）银行卡分类</strong></p>

<ol>
<li>银行卡可按卡组织进行分类，比如带有中国银联标志的银行卡称为银联卡，带有Visa标志的为Visa卡。 </li>
<li><p>银行卡按使用方式又可以分为借记卡和信用卡：</p>

<ul>
<li>借记卡:简单来讲是必须有存款才能消费，不能预支 </li>
<li>信用卡:是可以提前预支资金，但需要按时还款</li>
</ul></li>
<li><p>银行卡按信息存储方式又可分为磁条卡与芯片卡。</p>

<ul>
<li>磁条卡(magnetic stripe card)是指通过磁条记录了银行卡信息的卡片。</li>
<li>芯片卡(IC-integrated circuit card)是指带有IC芯片的，内部封装一个或多个集成电路用于执行处理和存储功能的卡片。</li>
</ul></li>
</ol>

<p><strong>（二）银行卡的制卡标准</strong></p>

<p>金融类的卡片遵循ISO/IEC 7813标准，不同的卡组织可能稍微有差异。 </p>

<p>中国银联卡组织，根据ISO相关的标准以及国标的相关标准制定了银行卡卡片规范(Q/CUP 005-2014),该规范了属于中国银联成员机构制作银行卡的标准，制定了银联卡的外形、卡片要素、标识、全息防伪标志、签名条、磁条、芯片、安全要素等。 银联的相关标准可以参考其<a href="http://corporate.unionpay.com/infoBiz/yewuyujishu/jishuziliao/list_jishuziliao.html">官方技术资料</a></p>

<p><strong>（三）银行卡的信息</strong></p>

<p>查看一张信用卡的正面信息，如图</p>

<p><img src="http://static.wooyun.org//drops/20160219/201602190908106484768.jpg" alt="p6" /></p>

<p>卡正面主要有发卡行、卡组织、卡号、持卡人姓名、卡过期时间等信息。</p>

<p>查看信用卡的背面信息，如图</p>

<p><img src="http://static.wooyun.org//drops/20160219/201602190908127562977.jpg" alt="p7" /></p>

<p>卡背面主要有签名条、磁条，卡后四位、CVV2安全码等信息，卡背后信息主要用于线上交易，比如卡后四位、CVV2。</p>

<p>所以银行卡有关的信息主要有如下内容：</p>

<ol>
<li><p>卡号(Primary Account No)</p>

<p>银行卡号(13-19位的数字)，卡号并不是随意生成的，在中国，中国银联制定了银联卡发卡行标识代码及卡号标准（QCUP 002-2006）。其中卡号的前6位为中国银联指定(若是国际卡，则银联向ISO申请)，之后的(6-12为发卡行自定义)，最后一位为校验位。</p></li>
<li><p>BIN(Bank Identification Number) </p>

<p>发卡行识别码，用来验证发卡银行的，一般是银行卡号的前6位。</p></li>
<li><p>过期时间(Expiration date)</p>

<p>卡过期时间，格式为YYMM</p></li>
<li><p>姓名</p>

<p>为字符形式，中文的则为拼音，姓名主要应用在信用卡上。</p></li>
<li><p>安全码(Security Code)</p>

<p>安全码是用来校验银行卡的合法性的，平时所说的CVV(主要是针对信用卡的)， 其实有两种：</p>

<p> 第一种叫CVV(Card Verification Value->Visa),不同的卡组织命名不同，visa卡组织叫CVV，MasterCard卡组织叫 CVC1(Card Validation Code->MasterCard),而在国内，中国银联称之为CVN ，其存储在银行卡的磁条里，主要用于线下刷卡消费中卡的合法性校验。</p>

<p>第二种即平时所说的信用卡的CVV，其真实是叫法为CVV2(Card Verification Value 2->Visa)，也是visa卡组织叫CVV2，MasterCard卡组织叫CVC2(Card Validation Code->MasterCard),在国内，中国银联称之为CVN2。 CVV2的设计是主要用于线上的交易卡的合法性校验，一般是3-4位数字，打印在银行卡的背面。</p></li>
<li><p>PIN(Personal Identification Number)</p>

<p>即平时在ATM机取款所使用的6位数字密码，注意在计算机和网络系统中任何环节都不允许PIN以明文的方式出现。</p></li>
<li><p>磁条(Magnetic Strip)：</p>

<p>银行卡后的磁条，其包含了3个磁道(Tracks)，每个磁道存储了不同的信息。</p></li>
<li><p>IC芯片</p>

<p>内部封装一个或多个集成电路用于执行处理和存储功能的卡片。</p></li>
<li><p>QuickPass</p>

<p>银联卡带有该标志的表示该卡支持NFC 功能，即可以通过NFC设备读取卡内存储的信息。通常我们使用支持NFC功能的手机或设备去读取带NFC功能的银行卡信息时，会读到银行卡的卡号、最近消费的10笔记录、有时银行卡设计不当还会读取到身份证等信息。</p></li>
</ol>

<h3>四、卡受理终端设备信息</h3>

<p><strong>（一）银行卡受理终端是指可以处理银行卡的设备终端，主要有如下分类</strong></p>

<ol>
<li><p>POS机(Point of Sale)</p>

<p>能够接受银行卡信息,具有通讯功能,并接受指令完成金融交易信息和有关信息交换的设备。(有通过电话网络接入、有通过安装SIM卡拨入CDMA网络、有通过以太网接入的)</p></li>
<li><p>ATM机(Automatic Teller Machine)</p>

<p>自动取款机，接入卡组织网络，实时通信的设备。国内的很多是Windows XP的主机</p></li>
<li><p>mPOS</p>

<p>mPOS为整体概念,包括终端设备和相关应用。具体指,通过移动通讯设备(所搭载的支付应用软件)进行商户收银操作,由外接专用受理终端完成银联卡相关信息的采集和加密,通过移动通讯设备与后台处理系统交互完成交易。日常看到的一些个人刷卡器，比如拉卡拉的mini手机刷卡器，其通过NFC等功能读取卡信息，然后通过音频接口发送到手机应用再执行相应的处理。</p></li>
</ol>

<p><strong>（二）卡受理终端设备的系统结构图</strong></p>

<p><img src="http://static.wooyun.org//drops/20160219/201602190908134922086.jpg" alt="p8" /></p>

<p>可以看到，支付设备可以通过PSTN网络、GPRS/CDMA网络、以太网进行通信，所有的通信数据最终流向了POS前置，POS前置部署在内网，用于对所有的收单行发送的支付订单信息进行处理。</p>

<h1>0x02 磁条卡风险</h1>

<hr />

<h3>一、磁条卡背景</h3>

<p>磁条利用磁性载体记录字符与数字信息。其主要有两种高矫顽磁性(high-coercivity ->HiCo)和低矫顽磁性(low-coercivity ->LoCo)。其中高矫顽磁性的磁条需要更高的磁场能量去编码，因而也较难擦除。高矫顽磁性的卡主要应用在频繁使用的场景，比如银行卡、会员卡等。通常银行卡背后右上角处写有HiCo字母代表的就是高矫顽磁性的卡。低矫顽磁性的磁条易于擦除，使用寿命较短。</p>

<h3>二、磁条卡标准</h3>

<p>ISO/IEC 7813规定了金融交易卡的标准，包括物理特征以及磁条的存储信息结构。中国基于ISO标准制定的金融类卡的标准为GB/T 17552—2008,不同的发卡组织也会基于ISO、国标等指定自己的相关标准，所以有的卡存储数据可能会稍有差异。</p>

<p>银行卡的磁条包括三个磁道(Track)信息，如下</p>

<p><img src="http://static.wooyun.org//drops/20160219/201602190908158989795.jpg" alt="p9" /></p>

<p>其中磁道1是用7个比特位来表示一个字符或数字；磁道2和磁道3采用5个比特位来表示一个数字字符。</p>

<p>磁道1最长可以包含79个字母字符或者数字字符；磁道2最长可以包含40个数字字符；磁道3最长可以包含107个数字字符。</p>

<ol>
<li><p>磁道1的存储结构如下</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909081641002105.jpg" alt="p10" /></p>

<p>说明：</p>

<ul>
<li>SS(开始标记)：为%</li>
<li>FC(编码格式的编号)：格式代码，一般为B</li>
<li>FS(分隔符)：为^</li>
<li>PAN(卡号)：最长为19位数字</li>
<li>NAME(姓名)：最长26个字母</li>
<li>ADDITIONAL DATA：该字段里没有字符，为4位卡过期时间(格式为YYMM)，以及3位的服务代码(代码含义参照)</li>
<li>DISCRETIONARY DATA(自定义数据)：自定义数据里主要有如下内容，</li>
<li>PVKI(PIN认证的密钥索引)：PVKI是用于PIN密码校验的，其为一个索引，发卡行维护1-16个加密密钥，此索引用于获取密钥。</li>
<li>PVV(PIN认证值,中国银联的叫PVN)：PVV认证值是用于校验的，即根据PVKI获取的密钥、用户输入的pin密码，按照PIN加密算法(参照下面的银行卡加密算法)算出的值跟该值进行比较，从而确定PIN是否合法。</li>
<li>CVV(卡安全码,中国银联叫CVN):CVV安全码是用于校验卡的合法性，即该磁道各个信息如果被篡改，通过校验该值即可发现异常。</li>
<li>ES(结束标记):为?</li>
<li>LRC(纵向冗余校验):用于数据错误校验</li>
</ul></li>
<li><p>磁道2的存储结构如下</p>

<p><img src="http://static.wooyun.org//drops/20160219/20160219090817832491111.jpg" alt="p11" /></p>

<p>说明：</p>

<p>磁道2的信息与磁道1的信息很多都一致，不过磁道2信息都为数字，其中与磁道1不同的信息有如下内容：</p>

<ul>
<li>SS(开始标记)：为;</li>
<li>FS(分隔符)：为=</li>
</ul></li>
<li><p>磁道3的存储结构如下</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909081948458124.jpg" alt="p12" /></p>

<p>说明：磁道3也是只能有数字字符，里面记录了过期时间、国家代码等数据，现在使用的还较少。</p></li>
</ol>

<h3>三、银行卡(磁条)的复制</h3>

<p><strong>1.读写卡设备</strong></p>

<p>如上述描述，磁条的信息存储都是明文存储的，因而需要可以读取的设备即可。 </p>

<p>在eBay或Amazon上搜索MSR等关键字可以搜索到很多这种读卡设备，如图</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909082055346134.jpg" alt="p13" /></p>

<p>其具体技术参数如下</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909082245405143.jpg" alt="p14" /></p>

<p>该设备支持HiCo 和LoCo的磁卡(300 oe -4200 oe)，同时支持读取三个磁道的信息，并且有读、写、擦除磁条的功能。 </p>

<p><strong>2.实际测试</strong></p>

<p>我们使用如下的MSR 605设备来读取卡数据，其中白色的卡为空白卡，支持多次擦写数据。</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909082371769153.jpg" alt="p15" /></p>

<p>读取一张普通的借记卡(磁条)，查看磁条信息如下</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909082568907163.jpg" alt="p16" /></p>

<p>该普通磁条卡只在磁道2存储了卡数据，存储了卡号、CVV、过期时间等值。</p>

<p>对于纯磁条卡，我们将读到的数据全部写到一张空白的卡里，即复制出与原卡一模一样的卡，且可在ATM机、POS机等处正常使用。</p>

<p>当然，现在的很多芯片卡也都带有磁条，我们读取一直信用卡(芯片卡)的磁条信息，查看具体的磁条信息如下。</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909082648472173.jpg" alt="p17" /></p>

<p>字段说明：</p>

<p>磁道1 的数据</p>

<ul>
<li>存储了卡号</li>
<li>姓名拼音、2008为信用卡过期时间，即20年08月</li>
<li>服务代码：为201，每一位代表的值不同，2表示是技术上是IC卡，0表示授权处理正常，1表示使用服务无限制，具体参考GB/T 17552</li>
<li>密钥索引：为1</li>
<li>pin校验码：为3128</li>
<li>cvv码为：749</li>
<li>其他信息：为银行自定义的其他数据</li>
</ul>

<p>磁道2 的数据都可由磁道1的数据推出。</p>

<p>注意，芯片卡的磁条里存储了卡信息，其芯片里也存储着用于交易的磁道信息。若读取芯片卡上磁条的数据，然后将数据写入一张空白的卡里，去取款机里使用，会提示使用芯片功能，如图。</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909082884364182.jpg" alt="p18" /></p>

<p>现在的POS机、ATM机在发现卡是芯片卡的时候交易都会使用芯片，而不会去使用磁条，当拿着芯片卡，在POS机刷磁条结账时会提示请优先使用芯片。</p>

<p>如上面的芯片卡的service code为201，第一位2就表示了是芯片卡。如果我们修改service code为101，即普通磁条卡的，刷卡会提示卡不合法。因为CVV校验出错，即这不是一张合法的卡，若要能修改数据必须知道银行的密钥才可以。</p>

<h3>四、银行卡的加密算法</h3>

<p>简单介绍下三个主要的加密算法，具体可以参考中国银联的相关标准。</p>

<p><strong>1.银行卡的CVN校验算法(参考中国银联的CVN加密算法)</strong></p>

<p>算法描述：该算法主要用于校验卡信息的合法性的。在如上复制卡的过程中我们修改service code重新写卡后，会被识别为非法卡，即通过该算法进行校验。由于密钥并非我们可控，因而不能随意篡改数据。该算法通过卡号、卡失效期、服务代码计算出一个CVN(银联叫CVN，Visa叫CVV)值，与卡里的CVN值进行比较判断卡合法性。</p>

<p>具体算法：</p>

<ol>
<li>计算数据源：主账号（PAN）、卡失效期和服务代码，从左至右顺序编排。  </li>
<li>CVN算法：计算CVN时使用二个64位的验证密钥,KeyA和KeyB。</li>
</ol>

<p>计算步骤如下: </p>

<ol>
<li>将数据源扩展成128位二进制数据（不足128位右补二进制0);</li>
<li>将128位二进制数据分成两个64位的数据块。最左边的64位为Block1，最右边的64位为Block2;  </li>
<li>使用KeyA对Block1进行加密;</li>
<li>将Block1的加密结果与Block2进行异或。使用KeyA对异或结果进行加密; </li>
<li>使用KeyB对加密结果进行解密; </li>
<li>使用KeyA对解密结果进行加密;</li>
<li>从左至右将加密结果中的数字（0－9）抽出，组成一组数字;  </li>
<li>从左至右将加密结果中的字符（A－F）抽出，减10后将余数组成一组数字，排列在步骤(7)的数字之后;</li>
<li>步骤(8)的左边第一组三位数即为CVN值。</li>
</ol>

<p><strong>2.CVN2加密算法(参考银联标准QCUP 015-2005)</strong></p>

<p>算法描述：CVN2(银联叫CVN2，Visa叫CVV2)的设计就是用于线上交易的，所以我们平时在一些购物网站输入银行卡号、姓名、卡过期时间，CVN2码即可购物，那该算法则通过用户提交的卡号、过期时间、银行的加密密钥计算出CVN2的值与用户提交的值进行对比，从而校验卡是否合法。</p>

<ol>
<li><p>计算数据源</p>

<p>计算CVN2的数据源包括:</p>

<ul>
<li>主账号(PAN)</li>
<li>卡失效期(格式为 YYMM,无卡失效期的借记卡可采用 0000) </li>
<li>常数 000(等同于计算 CVN 时的数据元素-服务代码)</li>
</ul>

<p>示例 : 19 位 PAN、4 位卡失效期和 3 位长常数“000”组成 26 个字符 CVN2 数据源。</p></li>
<li><p>CVN2 算法：计算CVN2时使用二个64位的验证密钥,KeyA和KeyB。</p></li>
</ol>

<p>计算步骤如下: </p>

<ol>
<li>将数据源扩展成128位二进制数据(不足128位右补二进制0); </li>
<li>将128位二进制数据分成两个64位的数据块。最左边的64位为Block1,最右边的64位为Block2; </li>
<li>使用KeyA对Block1进行加密; </li>
<li>将Block1的加密结果与Block2进行异或。使用KeyA对异或结果进行加密; </li>
<li>使用KeyB对加密结果进行解密;</li>
<li>使用KeyA对解密结果进行加密; </li>
<li>从左至右将加密结果中的数字(0-9)抽出,组成一组数字; </li>
<li>从左至右将加密结果中的字符(A-F)抽出,减10后将余数组成一组数字,排列在步骤(7)的数字之后; </li>
<li>步骤(8)的左边第一组三位数即为CVN2值。</li>
</ol>

<p><strong>3.PIN校验码算法(参考银联标准QCUP 032-2008)</strong></p>

<p>算法描述：该算法主要是校验用户输入的密码是否正确。该算法通过PVK(通过PVKI密钥索引定位到银行的密钥)、用户卡号、用户PIN进行计算，将计算的值与卡里PVN(即PIN校验码，银联的叫PVN，Visa的叫PVV)进行比较，从而校验PIN的正确性。</p>

<p>具体算法：</p>

<ol>
<li><p>计算数据源</p>

<p>计算PVN的数据源包括:</p>

<ul>
<li>主账号(PAN)右端除校验位以外的11位数字</li>
<li>KeyA,PVK的左侧64位</li>
<li>KeyB,PVK的右侧64位</li>
<li>PVK索引号,取值为1-F(0为保留)</li>
<li>持卡人PIN最左的4位数字 KeyA和KeyB组成了PVK,PVK是一组银联与代授权机构之间约定的128位的密钥,最多可15个,该组密钥专为代授权交易计算和验证PVN使用,该组密钥的索引号为1-F(0为保留),可分别用不同的密钥对 不同的卡号或卡号段进行PVN计算。在机构向银联提交/导入代授权信息文件时,应包含索引信息,以便银联用PVK索引号指定的128位长的密钥进行PVN验证。</li>
</ul></li>
<li><p>PVN算法：计算PVN时使用KeyA和KeyB。</p></li>
</ol>

<p>计算步骤如下: </p>

<ol>
<li>取PVK索引号约定的某个128位长的密钥PVK,PVK的左侧64位为KeyA,右侧64位为KeyB。 </li>
<li>取主账号右端除校验位以外的11位数字、密钥PVK的索引号、PIN明文左端4位数字,依次构成一个16位数字串,每位数字用压缩BCD码表示,形成1个64位长的二进制计算块Block。 </li>
<li>用KeyA对Block做DES加密运算,得到结果Block1。</li>
<li>用KeyB对Block1做DES解密运算,得到结果Block2。 </li>
<li>用KeyA对Block2做DES加密运算,得到结果Block3。 </li>
<li>对Block3从左到右抽取出所有的数字(0~9)。 </li>
<li>对Block3从左到右抽取出所有的十六进制字符(A~F),并对每一个十六进制字符减十进制10,使之变为数字。 </li>
<li>将步骤6和7得出的数字依次从左至右排列,步骤7得出的数字放在步骤6得出的数字之后。 </li>
<li>取步骤8结果的前4位数字,即为PVN值。</li>
</ol>

<h3>五、磁条卡的攻击场景</h3>

<p><strong>（一）盗取卡磁条信息</strong></p>

<p>盗取卡磁条信息，这种主要是线下的风险。</p>

<ol>
<li><p>在ATM机安装记录仪 通常是在ATM机器上安装卡槽，同时在ATM机上安装针孔摄像头，在插卡过程中记录磁条信息，同时针孔摄像头拍摄用户输入的PIN密码。这种案例还是比较多的，比如新闻1里介绍的。其中磁卡记录器可以做的很小且带电源、无线蓝牙模块，带电源的针孔摄像头也很常见。如下图</p>

<p><img src="http://static.wooyun.org//drops/20160219/2016021909083073309191.jpg" alt="p19" /></p>

<p><img src="http://static.wooyun.org//drops/20160219/201602190908314999320.jpg" alt="p20" /></p></li>
<li><p>改装POS机</p>

<p>比如在新闻2中出现的改造的POS机(在POS增加自己的记录仪)、或在持卡人不注意时候用设备记录仪盗取。新闻3中利用用户贪图小便宜的心理，用自己的设备记录仪来盗取用户的磁条信息。</p>

<p>磁条卡的信息都是明文存储，因而被复制的风险也一直有，因而出现了芯片卡，但芯片卡也不是完全安全的，其也可能面临一些卡复制、中继攻击、降级攻击等安全问题。</p></li>
</ol>

<p><strong>（二）盗取线上交易凭证</strong></p>

<p>盗取线上交易凭证通常涉及到信用卡的CVV2码、网银登陆密码、支付密码等。当然盗取这些线上的交易凭证在线下也可以盗取，比如刷信用卡时候看到了你的CVV2，并记录了你的磁条信息(如前面对于芯片卡磁条的分析，磁条是记录了卡号、姓名和过期时间的)，其实有些在线网站可能不会去校验CVV2，使用磁条里的信息足以用于支付。</p>

<p>再者主要是通过钓鱼邮件、伪基站发送短信、伪造网银登陆的界面记录你的信息。当然其他的像利用漏洞攻击个人电脑、攻击商户、银行机构的案例也是有的。</p>

<p>而对于我们普通用户而言，如何保护自己。即不贪小便宜，去消费刷卡时尽量保证卡在视线内，取款时仔细查看ATM机，尽量使用芯片卡，信用卡背面信息遮挡等。</p>

<h1>0x02 总结</h1>

<hr />

<p>从上面的分析可以发现，磁条卡的信息都是明文存储，因而可以通过设备随意读写，使得复制卡成为可能。磁条卡存在安全问题，芯片卡可以解决问题。 所以现在很多银行新办理的卡都是芯片卡，通常还会附带磁条。另外银行卡的过期年限通常很长，所以磁条卡完全退出历史舞台还有很长的路要走。</p>

<p>云誉介绍：<br />
云誉反欺诈是基于阿里巴巴的信誉数据，通过领先的行为收集技术和机器学习模型，输出大数据风控服 务能力，解决账号、活动、支付等关键业务环节存在的欺诈威胁，降低企业经济损失。</p>

<h1>0x03 参考</h1>

<hr />

<ul>
<li><a href="http://www.chinaunicom.com/upload/1351567526157.pdf">http://www.chinaunicom.com/upload/1351567526157.pdf</a></li>
<li><a href="https://en.wikipedia.org/wiki/ISO/IEC_7813">https://en.wikipedia.org/wiki/ISO/IEC_7813</a></li>
<li><a href="https://en.wikipedia.org/wiki/Magnetic_stripe_card">https://en.wikipedia.org/wiki/Magnetic&#95;stripe&#95;card</a></li>
</ul>      </p>
    
			</body>
		</html>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          